#include "../libraries/Figura.h"
#include "../libraries/circulo.h"
#include "../libraries/cuadrado.h"
#include <iostream>
using namespace std;

int main()
{
    int a,b=1;
    double x,y;
    cout<<"Pulse 1 para crear un cuadrado, 2 para un circulo: ";
    cin>>a;
    cout<<"Introduzca la coordenada X del centro: ";
    cin>>x;
    cout<<"Introduzca la coordenada Y del centro: ";
    cin>>y;
    if(a==1)
    {
       double lado=1;
       int color=1;
       Cuadrado cuadrado(x,y,lado,color);
       cout<<"Introduzca el valor del lado del cuadrado: ";
       cin>>lado;
       cuadrado.setLado(lado);
       cuadrado.calculaArea();
       cuadrado.calculaPerimetro();
       cout<<"El área del cuadrado es: "<<cuadrado.getArea()<<endl;
       cout<<"El perímetro del cuadrado es: "<<cuadrado.getPerimetro()<<endl;
       cout<<"El centro del cuadrado es: ";
       cuadrado.printCentro();
       cout<<endl;
       cout<<"Introduzca una coordenada X nueva para el centro: ";
       cin>>x;
       cout<<"Introduzca una coordenada Y nueva para el centro: ";
       cin>>y;
       cuadrado.setCentro(x,y);
       cout<<"El nuevo centro del cuadrado es: ";
       cuadrado.printCentro();
       cout<<endl;


       while (b!=0)
       {
           cout<<"Elija una de las siguientes opciones: "<<endl;
           cout<<"Para mover la figura pulse 1"<<endl;
           cout<<"Para redimensionar area pulse 2"<<endl;
           cout<<"Para cambiar color figura pulse 3"<<endl;
           cout<<"Para ver posición figura pulse 4"<<endl;
           cout<<"Para ver area figura pulse 5"<<endl;
           cout<<"para ver perímetro figura pulse 6"<<endl;
           cout<<"para salir pulse 0"<<endl;
           cin>>b;
       switch(b)
       {
        case 1:
           cout<<"Escriba la nueva posición de X: ";
           cin>>x;
           cout<<"Escriba la nueva posición de Y: ";
           cin>>y;
           cuadrado.setCentro(x,y);
           cuadrado.printCentro();
           cout<<endl;
        break;
        case 2:
           cout<<"Escriba el valor para redimensionar: ";
           cin>>lado;
           cuadrado.setLado(lado);
           cuadrado.calculaArea();
           //cout<<"El nuevo área del cuadrado es: "<<cuadrado.getArea2()<<endl; //esto lo pongo en el case 5, no me queda muy claro donde debe ir
        break;
        case 3:
           cout<<"Diga el nuevo color de la figura: 1. Rojo 2. Amarillo 3. Azul ";
           cin>>color;
           cuadrado.setColor(color);
           cout<<"El color del cuadrado es: "<<cuadrado.getColor()<<endl;
        break;
        case 4:
           cout<<"La posición de la figura es: "; //hay que acabar esto
        break;
        case 5:
           cout<<"El nuevo área del cuadrado es: "<<cuadrado.getArea()<<endl;
        break;
        case 6:
           cuadrado.calculaPerimetro();
           cout<<"El perimetro de la figura es: "<<cuadrado.getPerimetro()<<endl;
        break;
       }
       }
}
    else
    {
        double radio=1;
        int color=1;
        Circulo circulo(x,y,radio,color);
        cout<<"Introduzca el valor del radio del circulo: ";
        cin>>radio;
        circulo.setRadio(radio);
        circulo.calculaArea();
        circulo.calculaPerimetro();
        cout<<"El área del circulo es: "<<circulo.getArea()<<endl;
        cout<<"El perímetro del circulo es: "<<circulo.getPerimetro()<<endl;
        cout<<"El centro del circulo es: ";
        circulo.printCentro();
        cout<<endl;
        cout<<"Introduzca una coordenada X nueva para el centro: ";
        cin>>x;
        cout<<"Introduzca una coordenada Y nueva para el centro: ";
        cin>>y;
        circulo.setCentro(x,y);
        cout<<"El nuevo centro del circulo es: ";
        circulo.printCentro();
        cout<<endl;




        while (b!=0)
        {
            cout<<"Elija una de las siguientes opciones: "<<endl;
            cout<<"Para mover la figura pulse 1"<<endl;
            cout<<"Para redimensionar area pulse 2"<<endl;
            cout<<"Para cambiar color figura pulse 3"<<endl;
            cout<<"Para ver posición figura pulse 4"<<endl;
            cout<<"Para ver area figura pulse 5"<<endl;
            cout<<"para ver perímetro figura pulse 6"<<endl;
            cout<<"para salir pulse 0"<<endl;
            cin>>b;
        switch(b)
        {
         case 1:
            cout<<"Escriba la nueva posición de X: ";
            cin>>x;
            cout<<"Escriba la nueva posición de Y: ";
            cin>>y;
            circulo.setCentro(x,y);
            circulo.printCentro();
            cout<<endl;
         break;
         case 2:
            cout<<"Escriba el valor para redimensionar: ";
            cin>>radio;
            circulo.setRadio(radio);
            circulo.calculaArea();
         break;
         case 3:
            cout<<"Diga el nuevo color de la figura: 1. Rojo 2. Amarillo 3. Azul ";
            cin>>color;
            circulo.setColor(color);
            cout<<"El color del circulo es: "<<circulo.getColor()<<endl;
         break;
         case 4:
            cout<<"La posición de la figura es: "; //hay que acabar esto
         break;
         case 5:
            cout<<"El nuevo área del circulo es: "<<circulo.getArea()<<endl;
         break;
         case 6:
            circulo.calculaPerimetro();
            cout<<"El perimetro de la figura es: "<<circulo.getPerimetro()<<endl;
         break;
        }
        }
    }
    return 0;

}
